package com.example.service.impl;

import com.example.entity.CardInfo;
import com.example.service.CardInfoService;
import com.example.service.ClientLoginService;
import com.example.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

/**
 * 客户登录服务实现类
 */
@Service
public class ClientLoginServiceImpl implements ClientLoginService {

    @Autowired
    private CardInfoService cardInfoService;

    /**
     * 客户登录
     */
    @Override
    public Result<CardInfo> login(String cardId, String password) {
        // 验证参数
        if (!StringUtils.hasText(cardId) || !StringUtils.hasText(password)) {
            return Result.error("卡号和密码不能为空");
        }

        // 查询银行卡
        CardInfo cardInfo = cardInfoService.getById(cardId);

        // 验证银行卡存在
        if (cardInfo == null) {
            return Result.error("银行卡不存在");
        }

        // 验证是否挂失
        if ("1".equals(cardInfo.getIsReportLoss())) {
            return Result.error("该银行卡已挂失，请联系银行工作人员");
        }

        // 验证密码
        if (!password.equals(cardInfo.getPass())) {
            return Result.error("密码错误");
        }

        // 登录成功
        return Result.success(cardInfo);
    }
}